package w3_c2_stack;

public interface Stack<E> {

    /**
     * 返回Stack中元素个数。
     * @return
     */
    int getSize();

    /**
     * 测试Stack是否为空。
     * @return
     */
    boolean isEmpty();

    /**
     * 向栈顶push一个元素。
     * @param e
     */
    void push(E e);

    /**
     * pop栈顶元素。
     * @return
     */
    E pop();

    /**
     * 查看栈顶元素。
     * @return
     */
    E peek();

    /**
     * 返回具体实现栈的名字。如，Array实现的栈返回ArrayStack。
     * @return
     */
    String getName();
}
